﻿using System;
using System.Collections.Generic;

using System.Text;

namespace BO
{
    public class Toolsp
    {
        public static string TrimVietnameseMark(string str)
        {
            str = str.Replace(".", " ");
            str = str.Replace(",", " ");
            str = str.Replace("_", " ");
            str = str.Replace(";", " ");
            str = str.Replace("?", " ");
            str = str.Replace("(", "");
            str = str.Replace(")", "");
            str = str.Replace("[", "");
            str = str.Replace("]", "");
            str = str.Replace("{", "");
            str = str.Replace("}", "");
            str = str.Replace("<", "");
            str = str.Replace(">", "");
            str = str.Replace("'", "");

            while (str.IndexOf("  ") > 0)
            {
                str = str.Replace("  ", " ");
            }

            str = str.Replace("ấ", "a");
            str = str.Replace("ầ", "a");
            str = str.Replace("ẩ", "a");
            str = str.Replace("ẫ", "a");
            str = str.Replace("ậ", "a");

            str = str.Replace("Ấ", "A");
            str = str.Replace("Ầ", "A");
            str = str.Replace("Ẩ", "A");
            str = str.Replace("Ẫ", "A");
            str = str.Replace("Ậ", "A");

            str = str.Replace("ắ", "a");
            str = str.Replace("ằ", "a");
            str = str.Replace("ẳ", "a");
            str = str.Replace("ẵ", "a");
            str = str.Replace("ặ", "a");

            str = str.Replace("Ắ", "A");
            str = str.Replace("Ằ", "A");
            str = str.Replace("Ẳ", "A");
            str = str.Replace("Ẵ", "A");
            str = str.Replace("Ặ", "A");

            str = str.Replace("á", "a");
            str = str.Replace("à", "a");
            str = str.Replace("ả", "a");
            str = str.Replace("ã", "a");
            str = str.Replace("ạ", "a");
            str = str.Replace("â", "a");
            str = str.Replace("ă", "a");

            str = str.Replace("Á", "A");
            str = str.Replace("À", "A");
            str = str.Replace("Ả", "A");
            str = str.Replace("Ã", "A");
            str = str.Replace("Ạ", "A");
            str = str.Replace("Â", "A");
            str = str.Replace("Ă", "A");

            str = str.Replace("ế", "e");
            str = str.Replace("ề", "e");
            str = str.Replace("ể", "e");
            str = str.Replace("ễ", "e");
            str = str.Replace("ệ", "e");

            str = str.Replace("Ế", "E");
            str = str.Replace("Ề", "E");
            str = str.Replace("Ể", "E");
            str = str.Replace("Ễ", "E");
            str = str.Replace("Ệ", "E");

            str = str.Replace("é", "e");
            str = str.Replace("è", "e");
            str = str.Replace("ẻ", "e");
            str = str.Replace("ẽ", "e");
            str = str.Replace("ẹ", "e");
            str = str.Replace("ê", "e");

            str = str.Replace("É", "E");
            str = str.Replace("È", "E");
            str = str.Replace("Ẻ", "E");
            str = str.Replace("Ẽ", "E");
            str = str.Replace("Ẹ", "E");
            str = str.Replace("Ê", "E");

            str = str.Replace("í", "i");
            str = str.Replace("ì", "i");
            str = str.Replace("ỉ", "i");
            str = str.Replace("ĩ", "i");
            str = str.Replace("ị", "i");

            str = str.Replace("Í", "I");
            str = str.Replace("Ì", "I");
            str = str.Replace("Ỉ", "I");
            str = str.Replace("Ĩ", "I");
            str = str.Replace("Ị", "I");

            str = str.Replace("ố", "o");
            str = str.Replace("ồ", "o");
            str = str.Replace("ổ", "o");
            str = str.Replace("ỗ", "o");
            str = str.Replace("ộ", "o");

            str = str.Replace("Ố", "O");
            str = str.Replace("Ồ", "O");
            str = str.Replace("Ổ", "O");
            str = str.Replace("Ô", "O");
            str = str.Replace("Ộ", "O");

            str = str.Replace("ớ", "o");
            str = str.Replace("ờ", "o");
            str = str.Replace("ở", "o");
            str = str.Replace("ỡ", "o");
            str = str.Replace("ợ", "o");

            str = str.Replace("Ớ", "O");
            str = str.Replace("Ờ", "O");
            str = str.Replace("Ở", "O");
            str = str.Replace("Ỡ", "O");
            str = str.Replace("Ợ", "O");

            str = str.Replace("ứ", "u");
            str = str.Replace("ừ", "u");
            str = str.Replace("ử", "u");
            str = str.Replace("ữ", "u");
            str = str.Replace("ự", "u");

            str = str.Replace("Ứ", "U");
            str = str.Replace("Ừ", "U");
            str = str.Replace("Ử", "U");
            str = str.Replace("Ữ", "U");
            str = str.Replace("Ự", "U");

            str = str.Replace("ý", "y");
            str = str.Replace("ỳ", "y");
            str = str.Replace("ỷ", "y");
            str = str.Replace("ỹ", "y");
            str = str.Replace("ỵ", "y");

            str = str.Replace("Ý", "Y");
            str = str.Replace("Ỳ", "Y");
            str = str.Replace("Ỷ", "Y");
            str = str.Replace("Ỹ", "Y");
            str = str.Replace("Ỵ", "Y");

            str = str.Replace("Đ", "D");
            str = str.Replace("Đ", "D");
            str = str.Replace("đ", "d");

            str = str.Replace("ó", "o");
            str = str.Replace("ò", "o");
            str = str.Replace("ỏ", "o");
            str = str.Replace("õ", "o");
            str = str.Replace("ọ", "o");
            str = str.Replace("ô", "o");
            str = str.Replace("ơ", "o");

            str = str.Replace("Ó", "O");
            str = str.Replace("Ò", "O");
            str = str.Replace("Ỏ", "O");
            str = str.Replace("Õ", "O");
            str = str.Replace("Ọ", "O");
            str = str.Replace("Ô", "O");
            str = str.Replace("Ơ", "O");

            str = str.Replace("ú", "u");
            str = str.Replace("ù", "u");
            str = str.Replace("ủ", "u");
            str = str.Replace("ũ", "u");
            str = str.Replace("ụ", "u");
            str = str.Replace("ư", "u");

            str = str.Replace("Ú", "U");
            str = str.Replace("Ù", "U");
            str = str.Replace("Ủ", "U");
            str = str.Replace("Ũ", "U");
            str = str.Replace("Ụ", "U");
            str = str.Replace("Ư", "U");

            str = str.ToLower();

            return str;
        }
        public static string refineTitleForRewrite(string title)
        {
            title = TrimVietnameseMark(title);
            title = title.Replace(" ", "-");
            title = title.Replace("?", "");
            title = title.Replace("*", "");
            title = title.Replace("@", "");
            title = title.Replace("$", "");
            title = title.Replace("%", "");
            title = title.Replace("^", "");
            title = title.Replace("&", "");
            title = title.Replace("(", "");
            title = title.Replace(")", "");
            title = title.Replace("'", "");
            title = title.Replace(".", "");
            title = title.Replace("!", "");
            title = title.Replace("\\", "-");
            title = title.Replace("/", "-");
            title = title.Replace(",", "-");
            title = title.Replace(":", "-");
            if (title.EndsWith("-")) title = title.Substring(0, title.Length - 1);
            return title;
        }
    }
}
